home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 26 / Cream of the Crop 26.iso / program / ddj0897.zip / DYN401.ZIP / docs / changes.old < prev    next >
Text File  |  1996-02-18  |  26KB  |  828 lines

  1.  
  2.  
  3.  
  4. 12/17/93    kernel.c - the chk_ptr macro defined under unix and watcom
  5.         didn't check the full pointer range
  6.  
  7.         VERSION 1.0 RELEASED
  8.  
  9. ---------------------------------------------------------------------------
  10.  
  11. 1/18/94        Fixed bug in pipe.c Gets()
  12.  
  13.  
  14.  1/18/94    Ported to:
  15.         Architecture: sun4c (Sparc 2, Sparc ELC), sun4m (Sparc 10)
  16.         Operating System: SunOS 4.1.2, 4.1.3
  17.         Compiler: gcc 2.4.4
  18.  
  19.         Created Number class and made Character, ShortInteger,
  20.         UnsignedShortInteger, LongInteger & DoubleFloat subclasses
  21.         of it
  22.  
  23.         All ChangeValue methods now take an object as an argument
  24.  
  25.         Added CharValue, ShortValue, UnsignedShortValue, LongValue
  26.         and DoubleValue to all Number subclasses
  27.  
  28.         Added ChangeCharValue, ChangeShortValue, ChangeUShortValue,
  29.         ChangeLongValue and ChangeDoubleValue to all Number
  30.         subclasses
  31.  
  32.         Added numeric formating facilities to the Number class
  33.  
  34.         Greatly enhanced the Date class
  35.  
  36.         Added EXAM34 to demo numeric formatting & Date formatting
  37.  
  38.         Added Round and Truncate methods to DoubleFloat class
  39.  
  40.         Added Format method to Character class
  41.  
  42.         Changed class precedence to depth-first (was bredth-first)
  43.  
  44.         Fixed bug in class creation with multiple-inheretance
  45.  
  46.         Added ability to create CLOS like individual classes by
  47.         using a NewClass method
  48.  
  49.         Fixed out-of-memory bug which caused the system to recurse
  50.         indefinitly
  51.  
  52.         Moved most of the code in the defGeneric macro into the
  53.         _FindMethod function (reduces the size of the generics
  54.         object file)
  55.  
  56.         Made kernel function direct_ivs function a macro (should
  57.         speed the system a little)
  58.  
  59.  2/2/94        Added the generic call tracing facility which allows generic
  60.         call tracing of arbitrary combinations of class/generic/
  61.         method
  62.  
  63.  2/3/94        Moved definition of the basic object structure into the
  64.         class Object
  65.  
  66.  2/5/94        Changed gAbort to gError and associated it with Object
  67.         instead of Dynace class
  68.  
  69.         Added SubclassResponsibility and ShouldNotImplement to
  70.         the object class
  71.  
  72.  2/8/94        Created object.c behavior.c class.c metaclas.c method.c
  73.         genfun.c and dynace.c from kernel.c to make it easier to
  74.         add basic functionality
  75.  
  76.  2/8/94        Changed Remove::Link to NULL out pointers
  77.  
  78.  2/8/94        Changed New::Link to set pointers in next and prev objects
  79.  
  80.  2/8/94        New::LinkItem now calls its super with the correct arguments
  81.  
  82.  2/8/94        New::Association now calls its super with the correct arguments
  83.  
  84.  2/8/94        Renamed Key::ShortAssociation to ShortKey
  85.  
  86.  2/8/94        Renamed ChangeKey::ShortAssociation to ChangeShortKey
  87.  
  88.  2/8/94        Renamed Key::StringAssociation to StringKey
  89.  
  90.  2/8/94        Renamed ChangeKey::StringAssociation to ChangeStringKey
  91.  
  92.  2/8/94        Renamed CheckArg macro to ChkArgTyp
  93.  
  94.  2/8/94        Added ChkArg ChkArgNul and ChkArgTypNul macros
  95.  
  96.  2/9/94        Added additional argument checking to all Dynace methods
  97.  
  98.  2/10/94    Locally cached Lookup::Set in Dictionary StringDictionary
  99.         and ShortDictionary
  100.  
  101.  2/10/94    Renamed the LinkItem class to LinkValue
  102.  
  103.  2/10/94    Renamed Item::LinkValue to Value
  104.  
  105.  2/10/94    Renamed ChangeItem::LinkValue to ChangeValue
  106.  
  107.  2/10/94    Renamed all ItemDispose methods to DisposeNode
  108.  
  109.  2/10/94    Renamed all ItemDeepDispose methods to DeepDisposeNode
  110.  
  111.  2/10/94    Renamed all GroupDispose methods to DisposeGroup
  112.  
  113.  2/10/94    Renamed all GroupDeepDispose methods to DeepDisposeGroup
  114.  
  115.  2/12/94    Added blocking factor to string class to make faster
  116.  
  117.  2/12/94    Changed all Print & PrintValue methods to StringRep and
  118.         StringRepValue which return String instances
  119.  
  120.  2/12/94    Added Print and PrintValue methods to Object which use
  121.         StringRep and StringRepValue
  122.  
  123.  2/12/94    ShortDictionary was never being initialized - fixed
  124.  
  125.  2/12/94    Renamed the Association class to ObjectAssociation
  126.  
  127.  2/12/94    Created abstract Association class and moved LookupKey
  128.         StringAssociation and ShortAssociation under it
  129.  
  130.  2/12/94    Created abstract Sequence class and put LinkSequence
  131.         LinkObjectSequence and Setsequence under it
  132.  
  133.  2/12/94    Created abstract Stream class and put String and Pipe
  134.         under it
  135.  
  136.  2/12/94    Created File class which is under Stream class
  137.  
  138.  2/14/94    Fleshed out File class and created LowFile class
  139.  
  140.  2/14/94    Heavy mods to Pipe class to conform to Stream interface
  141.  
  142.  2/14/94    Additions to String class to conform to Stream interface
  143.  
  144.  2/14/94    Added some functionality to the Stream class
  145.  
  146.  2/16/94    Created stdoutStream stderrStream stdinStream traceStream
  147.         global variables
  148.  
  149.  2/16/94    Modified Print::Object and PrintValue::Object to use streams
  150.  
  151.  2/16/94    Error::Object now uses stderrStream
  152.  
  153.  2/16/94    TracePrint::Dynace now uses traceStream
  154.  
  155.  2/17/94    Checked all example programs for Stream and other changes
  156.  
  157.  2/17/94    Added FindClass::Class
  158.  
  159.  2/17/94    Added BasicSize::Object
  160.  
  161.  2/17/94    Added Copy::Set and DeepCopy::Set
  162.  
  163.  2/17/94    Added DeepCopy::LinkValue
  164.  
  165.  2/18/94    Added Copy::StringAssociation & DeepCopy::StringAssociation
  166.  
  167.  2/18/94    Added DeepCopy::LookupKey
  168.  
  169.  2/18/94    Added DeepCopy::ObjectAssociation
  170.  
  171.  2/18/94    Added DeepCopy::ShortAssociation
  172.  
  173.  2/18/94    Added Dispose::LinkObject
  174.  
  175.  2/18/94    Added Copy1::LinkList and DeepCopy::LinkList
  176.  
  177.  2/18/94    Added Copy::LinkObject
  178.  
  179.  2/18/94    Added Copy::BitVector & DeepCopy::BitVector
  180.  
  181.  2/18/94    Took size argument out of all HashOf methods
  182.  
  183.  2/18/94    Moved HashOf and Compare methods from ObjectAssociation
  184.         to LookupKey
  185.  
  186.  2/18/94    Added HashOf::StringAssociation and Compare::StringAssociation
  187.  
  188.  2/18/94    Added HashOf::ShortAssociation and Compare::ShortAssociation
  189.  
  190.  2/18/94    Added HashOf::DoubleFloat and Compare::DoubleFloat
  191.  
  192.  2/18/94    Added HashOf::Character and Compare::Character
  193.  
  194.  2/18/94    Added facilities in Number to Compare different types
  195.  
  196.  2/19/94    Enhanced makegens to parse source files
  197.  
  198.  2/19/94    Makegens now uses the Stream class
  199.  
  200.  2/19/94    Changed Resize::Set to work in place
  201.  
  202.  2/20/94    Added Array class
  203.  
  204.  2/20/94    Added Constant class
  205.  
  206.  2/20/94    Added CharacterArray ShortArray UnsignedShortArray LongArray
  207.         FloatArray DoubleFloatArray BitArray ObjectArray and
  208.         PointerArray classes
  209.  
  210.  2/20/94    Removed BitVector class
  211.  
  212.  2/28/94    Added class NumberArray and made numeric array classes a
  213.         subclass to it
  214.  
  215.  2/28/94    Renamed all HashOf methods to Hash
  216.  
  217.  3/2/94        Changed StringAssociation to use MA_ memory allocator
  218.  
  219.  3/2/94        Changed MonthOfYear::Date to MonthName
  220.  
  221.  3/2/94        Changed DayOfWeek::Date to DayName
  222.  
  223.  3/2/94        Added docs directory
  224.  
  225.  3/2/94        Updated all documentation
  226.  
  227.  3/3/94        VERSION 2.00 RELEASED
  228.  
  229. ---------------------------------------------------------------------------
  230.  
  231. 3/10/94        Fixed bug in set.c which effected the ShortDictionary class
  232.  
  233. 3/10/94        VERSION 2.00 RE-RELEASED (old 2.00 users updated)
  234.  
  235. ---------------------------------------------------------------------------
  236.  
  237. 3/26/94        Fixed bug (important code commented out) which made the GC
  238.         not work with the threader
  239.  
  240. 3/26/94        VERSION 2.01 RELEASED
  241.  
  242. ---------------------------------------------------------------------------
  243.  
  244. 5/16/94        Fixed bug in GC which effected classes which had their
  245.         DontCollect attribute set.  It caused their instance
  246.         variables not to be marked the second and subsequent
  247.         time the GC ran.
  248.  
  249. 5/16/94        VERSION 2.02 RELEASED
  250.  
  251. ---------------------------------------------------------------------------
  252.  
  253. 3/17/94        Added IntegerAssociation and IntegerDictionary classes
  254.  
  255. 4/15/94        Changed all Trace methods to return the previos mode (an int)
  256.         instead of self
  257.  
  258. x/xx/xx        Added Windows library, documentation & examples
  259.  
  260.         Renamed makegens to dpp and enhanced it to handle the
  261.         new syntax
  262.  
  263.         Converted all code to the new syntax
  264.  
  265.         Updated the language manual
  266.  
  267.         Fixed small return bug in threader (WaitFor)
  268.  
  269.         
  270. 5/15/95        VERSION 3.00.00 RELEASED
  271. ---------------------------------------------------------------------------
  272.  
  273. 6/95        Had to build M32 libraries with 2.0 instead of 2.1 because
  274.         2.0 objects can't link with 2.1 libraries due to pentium
  275.         bug code.  However 2.1 objects can link with 2.0 libraries.
  276.  
  277.         Added #define WIN32 to dynace.h.  M32 2.0 required it.
  278.         2.1, nor any of the others require it....
  279.  
  280.         Added -DWIN32 to windows/m32.dm
  281.  
  282.         Updated manuals to use only ANSI declarations in all examples
  283.  
  284.         Added InitClasses documentation and removed InitSystemClasses
  285.         documentation
  286.  
  287. 6/12/95        Fixed readme files associated with winexam/exam18
  288.  
  289. 6/14/95        Corrected problem with all example and winexams b16.dm files.
  290.         Libraries were linked in the wrong order.
  291.  
  292.         Added in vms patches from Kaelin
  293.  
  294.         Removed unnecessary malloc.h includes
  295.  
  296.         Removed unnecessary floor, log, fabs, ... declarations
  297.  
  298.         Cleaned up much of the code with maximum warning level
  299.  
  300.         Changed generated files from include <> to ""
  301.  
  302.         Added MACROS macro which controls whether or not dpp generates
  303.         code which uses the CLASS macro or not.  Default to yes.
  304.  
  305.         Generate declaration for InitXXXXClass functions in generics.h
  306.         and InitClasses().
  307.  
  308.         Changed all Dispose generics which used to return void to
  309.         now return NULL.
  310.  
  311.         Added declarations to generated and other include files to
  312.         force C (as aposed to C++) linkage.
  313.  
  314.         Changed generic_t declarations in generics.h to include arg
  315.         type info and modified super macros accordingly
  316.  
  317.         Changed array.d macros to be more portable
  318.  
  319.         Minimized warnings when compiling with maximum warnings
  320.  
  321.         Got everything (except windows stuff) to compile in C++.
  322.  
  323.         Changes all occurances of HUGE to _HUGE
  324.  
  325.         Fixed potential bug in gChangePriority::Thread
  326.         and gFormatNumber::Number
  327.  
  328.         
  329. 6/21/95        Version 3.01.00 released
  330.  
  331. ----------------------------------------------------------------------
  332.  
  333. 6/25/95        Fixed bug Windows auto scrolling facility
  334.  
  335. 7/11/95        Fixed bug in Garbage collector
  336.         
  337.  
  338.  
  339.  
  340.  
  341.  
  342. ----------------------------------------------------------------------
  343. ----------------------------------------------------------------------
  344.  
  345. Changes done for 4.x
  346.  
  347. 6/17/95        Removed need for jumpto.asm by adding the ability to
  348.         generate the appropriate generics - this necessatated
  349.         variable argument methods to be handled differently due
  350.         to an additional level of abstraction (not true - fixed!)
  351.         - this also breaks the old way of cacheing variable argument
  352.         methods    (not true - fixed!)
  353.  
  354.         Added support for C++ inline generics - controled by a new
  355.         -S option in dpp
  356.  
  357.         Added GetArg macro to get arguments in variable arg
  358.         situations
  359.  
  360.         Renamed vNew::Array to gNewArray
  361.  
  362. 6/19/95        Fixed bug in Dup::Array
  363.  
  364.         Removed Genericm, cMethod and iMethod macros
  365.  
  366.         Renamed dynace.h to dynl.h
  367.  
  368.         Added ability to macro guard typedefs in generics.h files
  369.  
  370.         Reduced the possiblity of dpp clobering needed files by
  371.         performing some file extension checks.
  372.  
  373.         Made changes in dpp to recognise the .dyn extension as a
  374.         .d file also.
  375.  
  376.         Renamed InitDynace to InitKernel
  377.  
  378.         Renamed InitClasses to InitDynace
  379.  
  380.         Renamed usesClass to InitClass
  381.  
  382.         Added the ability to support "" or <> include syntax on
  383.         generated includes
  384.  
  385.         Changed gIndex::Array and gNewArray::Array interface
  386.         (there was a problem with the WATCOM compiler)
  387.  
  388. 6/30/95        Added dpp Strategy #4 (C++ inlines except for variable
  389.         argument generics)
  390.  
  391.         Added the objrtn type which is basically an object without
  392.         the volatile.  Changed dpp to make all methods and generics
  393.         which return an object to be auto-converted to return objrtn.
  394.         This was needed for the GNU compiler.
  395.  
  396.         Cleaned up all GNU/Wall/C++ warnings
  397.  
  398.         Updated unix makefiles to prevent auto removal of .c
  399.         intermediate files.
  400.  
  401. 7/1/95        Changed all vNew generics (except true vararg methods) into
  402.         unique gNewXXX generics as follows:
  403.  
  404.             vNew::Character -> gNewWithChar
  405.             vNew::Double -> gNewWithDouble
  406.             vNew::File -> gOpenFile
  407.             vNew::IntegerAssociation -> gNewWithIntObj
  408.             vNew::LinkList -> gNew
  409.             vNew::LinkSequence -> gNewWithObj
  410.             vNew::LinkValue -> gNewWithObj
  411.             vNew::LongInteger -> gNewWithLong
  412.             vNew::LookupKey -> gNewWithObj
  413.             vNew::LinkObjectSequence -> gNewWithObj
  414.             vNew::LowFile -> gOpenLowFile
  415.             vNew::ObjectAssociation -> gNewWithObjObj
  416.             vNew::Pointer -> gNewWithPtr
  417.             vNew::Set -> gNewWithInt
  418.             vNew::SetSequence -> gNewSetSeq
  419.             vNew::ShortInteger -> gNewWithInt
  420.             vNew::StringAssociation -> gNewWithStrObj
  421.             vNew::String -> gNew / gNewWithStr / gNewWithObj
  422.             vNew::UnsignedShortInteger -> gNewWithUnsigned
  423.             vNew::Pipe -> gNew / gNewWithStrInt
  424.             vNew::Semaphore -> gNew / gNewSemaphore
  425.             vNew::Thread -> gNewThread
  426.             vNew::Method -> gNewMethod
  427.             vNew::Class -> gNewClass
  428.             vNew::Generic -> gNewWithStr
  429.             vNew::Behavior -> vNew / gNew
  430.  
  431.         Renamed the old gNewClass::Class to gNewStdClass
  432.     
  433.         Fixed ShouldNotImplement::Object and SubclassResponsibility::
  434.         Object to work correctly with class objects as well as
  435.         instance objects.
  436.  
  437.         Changed Dispose::Constant to return self instead of NULL.
  438.  
  439.         Added gNew::Set, gNew::String, gNew::Pipe, gNew::Semaphore,
  440.         gNew::Number which use reasonable defaults.
  441.  
  442.         Added new generic syntax to allow for the creation of methods
  443.         which are associated with generics which have argument
  444.         checking and _optionally_ generics which have been overloaded
  445.         (and thefore have no compile time checking).  This is
  446.         controlled by the -X dpp option.  The overloaded generics are
  447.         indicated in the method definition by surrounding the
  448.         generic name in <>
  449.  
  450.         Added (optional) overloaded generics - vNew, vFindXXX, vRemove,
  451.         vFormat, vAdd
  452.  
  453.         Added vNew::Behavior.
  454.  
  455.         Added gShouldNotImplement call to several classes which
  456.         shouldn't implement gNew,
  457.  
  458.  
  459. 7/4/95        Changed acceptable extensions to .d .dd .n .nn
  460.         (dropped .dyn)
  461.  
  462.         Made .dd and .nn create .cc (instead of .c) file
  463.  
  464.         Removed accidental use of C++ keyword (overload) in dpp
  465.  
  466.         Added dummy code to make dpp generate vNew generic from
  467.         kernel.c
  468.  
  469.         Added -Isc, -Iac, -Ish and -Iah flags to allow inclusion of
  470.         system and application include files in either generics.c
  471.         or generics.h
  472.  
  473. 7/8/95        Fixed bug in new -I?? dpp option
  474.  
  475.         Added gInit() and gAlloc()
  476.  
  477.         Changed gInit::Link to gInitLink
  478.  
  479.         Implemented fast-wide caching scheme
  480.         (dpp option -F and compile all source with FASTWIDE defined)
  481.         
  482. 7/10/95        Fixed a bug in the garbage collector
  483.  
  484.         Added assembler support for the GC under i386 & unix
  485.         (no more volatile needed in that environment)
  486.  
  487.         Made gen(super) be the same as gen(super self)
  488.         (self is implied)
  489.  
  490.         Converted all .d files to use new super syntax
  491.  
  492.         Enhanced dpp to allow (via compile time directive) full
  493.         dependency (and testing) of the garbage collector
  494.  
  495. 7/11/95        Changed gMaxMemUsed::Dynace to gMaxAfterGC
  496.  
  497.         Added gMaxMemUsed::Dynace
  498.  
  499. 7/11/95        Made changes to avoid "variable not used" warnings
  500.  
  501. 7/17/95        Made changes so all the InitClass functions are now static.
  502.         Therefore, the only thing externally accessable to a class
  503.         is now the class object itself.
  504.  
  505. 7/18/95        Fixed a few anomolies associated with the 7/17 code.
  506.  
  507.         Removed two compiler warnings
  508.  
  509. 7/22/95        Added automatic and lazy initialization of classes!
  510.         This caused the removal of changes made on 7/17/95.
  511.         This also causes Dynace to only and automatically
  512.         link in the minimum number of classes - only the
  513.         ones you actually use regardless of what's in
  514.         generics.h. Class objects are now macros which
  515.         init the class if it's not already.
  516.  
  517.         Changed default method names from m_generic to
  518.         class_generic (where "class" is the name of the class
  519.         being defined).  This makes debugging a lot easier.
  520.  
  521.         Added SMALL_FW macro to cause the fast-wide cache
  522.         to use smaller/faster generics by eliminating object
  523.         checking and threading.
  524.  
  525.         Renamed imethod, cmethod, etc to imeth, cmeth in generated
  526.         .c files
  527.  
  528.         The following macros have been removed because they are
  529.         uneeded and conflict with future goals:  cName, ivSize,
  530.         cvSize, instanceVars, classVars, cvsPtr, accessCVs, cvType
  531.  
  532.         Class and instance variables are now typedef's
  533.  
  534.         Changed kernel data structure to conform to new conventions
  535.  
  536. 7/23/95        Ported all the language examples to Dynace 4.x
  537.  
  538. 7/25/95        Made changes to support the move to multiple classes in a
  539.         single file by requiring the class to be specified, instead
  540.         of assumed, with some macros.
  541.  
  542.         Added class argument to iMethodFor and cMethodFor.
  543.  
  544.         Switched to the following naming convention:
  545.  
  546.             String        class object with auto init
  547.             String_c    the class object
  548.             String_t    String type (object)
  549.             String_cv    class variable pointer
  550.             String_cv_t    class variable type
  551.             String_iv_t    instance variable type
  552.             String_initialize()  class init function
  553.             gNew_t        generic type
  554.             gNew_g        generic object
  555.             String_im_gDispose default instance method name
  556.             String_cm_gNew     default class method name
  557.             String_cvm_vNew    overloaded class method
  558.             String_ivm_vNew    overloaded instance method
  559.  
  560.         Added GetIVs and GetCVs macros to get instance/class variable
  561.         pointers while taking the class as an argument.
  562.  
  563.         dpp now generates code using GetIVs instead of accessIVs
  564.  
  565.         dpp now generates class_initialize() instead of
  566.         InitClass(class)
  567.  
  568.         Added gInstanceSize::Behavior and gStackAlloc::Behavior
  569.         generics and StackAlloc macro
  570.  
  571.         Added the ability to allocate objects from the stack.
  572.         These objects require no disposal or GC.
  573.  
  574. 7/26/95        Added dpp support for "::", "->*", ".*", "::*" C++ operators
  575.  
  576.         Fixed a potental infinite-recursion problem when initializing
  577.         classes.
  578.  
  579.         Fixed a bug in IsObj() caused by the new stack based object
  580.         code.
  581.  
  582.         Fixed memmove (for sparc) code to be more ANSI standard
  583.  
  584.         Enhanced all unix makefiles
  585.  
  586. 7/28/95        Compiled everything including dpp for MSC 32 bit
  587.  
  588. 8/2/95        Made changes to examples 1,9,20,32 to make them more clear
  589.  
  590.         Added the dropunx.sh shell script
  591.  
  592.         Fixed ?m?Pointer macros to correctly typecast the result
  593.         and modified the system to use it.
  594.  
  595.         Unix make changed to build and install dpp prior to generics
  596.         directory
  597.  
  598.         Added thread inhibit code to dpp's generation of init
  599.         class functions.
  600.  
  601.         Verified that some anomily (bug) in GCC 2.7.0 breaks the
  602.         threader.
  603.  
  604. 8/8/95        Made some kernel name changes
  605.  
  606.         Enhanced unix top level makefile to automatically remove
  607.         cr/lf sequence from source files
  608.  
  609.         Made delcr.c ANSI C
  610.  
  611.         Added addcr.c to convert files back to DOS format
  612.  
  613.         Enhanced top level makefile to be able to put DOS file name
  614.         conventions back in
  615.  
  616. 8/8/95        Added a class argument to the oSuper, iSuper, cSuper macros
  617.         in preparation to be able to access external instance variables
  618.         and modified dpp to generate the new syntax
  619.  
  620.         Added the ability for dpp to create a .iv and .cv file
  621.  
  622.         Added makefiles to support one-header-per-class
  623.         with the main Dynace dist.
  624.  
  625.         Enhanced top level makefile.unx to convert the system to the
  626.         optional format (if you select multiple-header-setup target)
  627.         
  628. 8/9/95        Added the ability to cause dpp not to generate class
  629.         initialization functions.
  630.  
  631.         Changed dpp to downcase file names in #line directives when
  632.         run from DOS.
  633.  
  634. 8/10/95        Converted kernel classes from .c to .d files
  635.  
  636.         Moved all dummy code (for dpp to scan) from kernel.c to
  637.         the correct .d files.  You no longer scan kernel.c to
  638.         create the generics file.
  639.  
  640.         Removed all use of the makeThenAccess macro and the macro
  641.         itself
  642.  
  643. 8/11/95        dpp now macro guards .iv and .cv files it generates
  644.  
  645.         Changed dpp to include .iv and .cv files when they are
  646.         generated as opposed to duplicating the typedef definition.
  647.  
  648.         Enabled "public" and "private" keywords before a defclass.
  649.         public defclass causes .iv and .cv files to be created.
  650.  
  651.         Updated kernel makefiles for all DOS compilers
  652.  
  653. 8/12/95        Broke dpp -n flag into -nai and -mgt flags
  654.  
  655.         Update all DOS makefiles and created a master makefile for m32
  656.  
  657.  
  658. 8/21/95        Fixed bug in top level makefile.unx which caused files to
  659.         be processed in the wrong order
  660.  
  661.         Enhanced unix makefile to be able to build with different
  662.         options.
  663.  
  664.         STARTED WDS PORT!
  665.  
  666.         Renamed:
  667.  
  668.             OpenFile::FileDialog -> GetOpenFile
  669.             SaveFile::FileDialog -> GetSaveFile
  670.  
  671. 8/23/95        Made some major changes in order for dpp to automatically
  672.         generate cover functions in _all_ cases in which a method
  673.         pointer would have a different argument list then the one
  674.         declared by the programmer.  The generated cover function
  675.         would correctly handle the argument list and call the correct
  676.         method.  The cover function and programmer defined method are
  677.         now both stored.  The correct one is returned when evoking
  678.         a method depending on the curcumstance.
  679.  
  680.         Added an argument to gNewMethod.
  681.  
  682.         Added two new macros:  ivMethodFor and cvMethodFor.
  683.  
  684.         As before _FindMethod returns a pointer to the method defined
  685.         by the programmer (for use by the generic), but now
  686.         _FindMethod2 and gFindMethod return the cover function
  687.         associated with a method if one exists.  It returns the
  688.         programmer defined method otherwise.
  689.  
  690.         Got the Windows Development System working!
  691.  
  692. 8/24/95        Made change in FASTWIDE cache configuration to take advantage
  693.         of the new dpp code generation (this fixed an undetected bug
  694.         in the previous FASTWIDE stuff that made it not work with
  695.         variable argument or overloaded methods).  UNTESTED!
  696.  
  697.         Added an option to dpp to eliminate #line directives
  698.  
  699.         Changed the oSuper macro to generate smaller code
  700.  
  701.         Plugged a small memory leak in ostream.d (DPP)
  702.  
  703.         Changed the #line stuff to point to the generated C file
  704.         whenever corresponding lines don't exist in the .d file.
  705.  
  706.         Took advantage of the fact that just naming a class with a
  707.         semicolon causes the class to be initialized to get rid of
  708.         calls to Class_initialize() or InitClass(Class).  They are
  709.         now simply  Class;
  710.  
  711.         Removed dpp's description of its -d option
  712.  
  713. 9/10/95        Removed garbage line in dpp help message
  714.  
  715.         Fixed portability problems with overloaded generics
  716.  
  717. 9/16/95        Make change in startup.mk file to allow dmake to work even
  718.         in conditions when the SHELL environment variable is set
  719.  
  720. 9/17/95        Enhanced top level makefile for Microsoft C 32 to build the
  721.         system from scratch
  722.  
  723. 9/24/95        Macro guarded multhead/include/kernel.h
  724.  
  725.         Fixed bug which allowed dpp to generate generics files with
  726.         improper file extensions
  727.  
  728.         Changed dpp to generate generics files (both .c & .h) in a
  729.         human readable format
  730.  
  731.         Changed the -mgt dpp option to -mg
  732.  
  733.         The -mg dpp option now also macro guards inline functions
  734.  
  735.         Added an option to cause dpp to always generate a generics.h
  736.         file, even if it's the same.
  737.  
  738. 9/25/95        Fixed code ordering problem in dpp which caused problems
  739.         with generics.h files and inline generics
  740.  
  741.         Added compile date and time to dpp help display
  742.  
  743.         Fixed bug in new kernel code which killed the fast-wide cache
  744.         option
  745.  
  746.         Added DPP_STRATEGY & DPP_FASTWIDE auto macros to dpp so Dynace
  747.         now automatically sets and verifies the build mode for
  748.         consistancy
  749.  
  750.         Fixed declaration problem with gInvalidObject when used with
  751.         fast-wide cache
  752.  
  753. 9/26/95        Fixed incorrect include sequence in a few class modules
  754.  
  755.         Fixed a number of C++ compiler warnings associated with the
  756.         new GCC compiler
  757.  
  758. 10/10/95    Enhanced top level m32.dm with more options
  759.  
  760. 10/22/95    Added s32.dm files in support of Symantec C++
  761.         (Doesn't work due to a bug in their compiler version 7.2)
  762.  
  763.         Added a quick and dirty port to the Macintosh (68k) using
  764.         Code Warrior 6.1
  765.  
  766. 10/26/95    Received a patch from Symantec and completed port
  767.         (including Windows stuff)
  768.  
  769. 1/14/96        Removed garbage multi-header makefiles
  770.         
  771.         Made change to DPP such that if you explicitly name a method
  772.         DPP will generate code so that that name gets associated
  773.         with the interface that matches the one defined in the .d file
  774.  
  775. 1/26/96        Added defines in dpp for debugging method/generic interface
  776.  
  777.         Fixed bug in generic/method interface which caused bad code to
  778.         be produced
  779.  
  780. 1/27/96        Fixed misc bugs associated with explicitly naming methods
  781.  
  782.         Made changes necessary to allow Strategy 1 to work again
  783.         (version 3.x assembler generics)
  784.  
  785.         Added MAKE_REST macro to make the _rest_ variable Strategy
  786.         independent
  787.  
  788.         Made several adjustments to the array classes to make them
  789.         portable between the various Strategies
  790.  
  791.         Changed the way dpp makes macro names - it now drops file
  792.         paths and just makes the macro based on the file name
  793.  
  794.         Added DPP_STRATEGY & DPP_FASTWIDE macros to generated .c files
  795.         to avoid conflics between generics and class files
  796.  
  797. 2/4/96        Pretty much finished manual changes to correspond to 4.x
  798.         and the new distribution method
  799.  
  800.         Validate linux build
  801.  
  802.         Created top level M16.DM and validated M16 build
  803.  
  804.         Created dpp/b32.dm
  805.  
  806.         Created a top level b32.dm makefile and validated B32 build
  807.  
  808.         Fixed bug in B32 Windows example setup in B32DM.bat &
  809.         B32IDE.BAT which caused main.def to not be copied
  810.  
  811. 2/5/96        Fixed bug in windows/b16.dm
  812.  
  813.         Created top level b16.dm
  814.  
  815.         Validated B16 build
  816.  
  817.         Created top level w32.dm
  818.  
  819.         Validated W32 build
  820.  
  821. 2/6/96        Created top level S32.DM and validates S32 build
  822.  
  823. 2/18/96        Finished final manual changes, system tweaks and system
  824.         testing - ready for release!
  825.  
  826.  
  827. 2/18/96        RELEASE of 4.0
  828. ---------------------------------------------------------------------------